CKM_MILENAGE_DERIVE
This section provides a summary of CKM_MILENAGE_DERIVE.
Supported operations
Operation | Supported |
---|---|
Encrypt and Decrypt | No |
Sign and Verify | No |
SignRecover and VerifyRecover | No |
Digest | No |
Generate Key/Key-Pair | No |
Wrap and Unwrap | No |
Derive | Yes |
FIPS Mode support
Available in FIPS Mode | Restrictions in FIPS Mode |
---|---|
No | Not applicable |
Key size range (bytes) and parameters
Key size minimum/maximum | Value |
---|---|
Minimum | 16 |
Maximum | 16 |
Parameter
CK_MILENAGE_DERIVE_PARAMS
Mechanism description
This mechanism is used to perform key derivation for MILENAGE functions F3, F4, F5 and F5 as per the specification available at http://www.3gpp.org/specifications/60-confidentiality-algorithms using the PKCS function C_DeriveKey()*.
The mechanism requires the 16-byte milenage key 'K' to be initialized as an AES key on the HSM slot. The key should have the CKA_DERIVE attribute set to TRUE. The 16-byte Operator Variant key should be stored on the HSM slot as a Generic Secret key (CKK_GENERIC_SECRET).
The mechanism takes a parameter, CK_MILENAGE_DERIVE_PARAMS. See ctvdef.h for description.
The resultant derived key(s) are of the type "CKK_GENERIC_SECRET" using the supplied user template. Attempts to create any other type of key will result in an error.
Note
Only a 16-byte AES key and a 16-byte Operator Variant are supported with this mechanism.
Return to ProtectToolkit-C mechanisms.